package com.xinruke.hostels.central.manage.interfaces.api;

import com.xinruke.hostels.central.manage.interfaces.dto.*;
import com.xinruke.hostels.central.manage.interfaces.dto.sensitiveword.SensitiveWordCheckDTO;
import com.xinruke.hostels.central.manage.interfaces.dto.sensitiveword.SensitiveWordCheckResultDTO;
import com.xinruke.hostels.common.po.YwJiudian;
import com.xinruke.hostels.common.vo.ResultVO;
import com.xinruke.hostels.common.vo.query.RowsDataVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @ClassName CentralManageAPI
 * @CreateDate 2019/6/13
 * @Author FengXinQiang
 * @Version V1.0.0.0
 * @Decription 酒店信息API
 */
@FeignClient(value = "central-manage-service", fallbackFactory = CentralManageFallback.class)
public interface CentralManageAPI {
    @PostMapping("/hotel/info/list")
    ResultVO<RowsDataVO<HotelPersonalQueryResultDTO>> getHotelInfoList(@RequestBody HotelPersonalQueryDTO hotelInfoQueryDTO);

    /**
     * 查询所有酒店
     *
     * @return
     */
    @PostMapping("hotel/info/all")
    List<YwJiudian> getAllHotel(@RequestBody HotelAllQueryDTO allQueryDTO);

    @PostMapping("hotel/info/detail")
    @ApiOperation(value = "酒店详情")
    ResultVO<HotelInfoDetailQueryResultDTO> getHotelInfoDtail(@RequestBody HotelInfoDetailQueryDTO hotelDetailQueryDTO);

    /**
     * 校验语句
     *
     * @return 过滤关键词后的语句
     */
    @PostMapping(value = "/sensitive-word/api/check")
    ResultVO<SensitiveWordCheckResultDTO> check(SensitiveWordCheckDTO params);

}